Parallel Redundancy Protocol (PRP) is a data communication network standardized by the International Electrotechnical Commission, Geneva, as IEC 62439-3 Clause 4, that allows data to overcome any single network failure without affecting the data transmission. It can be applied to most Industrial Ethernet (Real-Time Ethernet) since it is independent of the protocols and provides seamless failover.
To this effect, each node (device) in the network has two Ethernet ports attached to two different local area networks (LANs) of arbitrary, but similar topology.
The two LANs are completely separated and are assumed to be fail-independent. A source node sends simultaneously two copies of a frame, one over each port. The two frames travel through their respective LANs until they reach a destination node, in the fault-free case, with a certain time skew. The destination node accepts the first frame of a pair and discards the second, taking advantage of a sequence number in each frame that is incremented for each frame sent.
Therefore, as long as one LAN is operational, the destination always receives one frame. This protocol provides a zero-time recovery and allowing checking redundancy continuously to avoid lurking failures.
Non-PRP nodes are either attached to one network only (and therefore can communicate only with other nodes attached to the same network), or are attached through a Red Box, a device that behaves like a doubly attached node.
Node failures are not covered by PRP, but duplicated nodes may be connected via a PRP network.
Each node in PRP has two Ethernet bus controllers, which have the same MAC address and present the same IP address(es). Therefore, PRP is a layer 2 redundancy, which allows network management protocols to operate without modification and simplifies engineering.